﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SportsPlatform.Base;
using SportsPlatform.Dto.SportBusiness.AchievementPunishmentInfo;
using SportsPlatform.Query.SportBusiness.AchievementPunishmentInfo;

namespace SportsPlatform.SportBusiness.ISportBusiness
{
    /// <summary>
    /// 成绩惩罚记录接口
    /// </summary>
    public interface IAchievementPunishmentInfoService
    {
        /// <summary>
        /// 新增成绩惩罚记录信息
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        Task<BaseResultDto> AddAchievementPunishmentInfo(AddAchievementPunishmentInfoQuery query);

        /// <summary>
        /// 分页获取赛事成绩惩罚记录信息
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        Task<PagePagingDto<AchievementPunishmentInfoDto>> GetAchievementPunishmentInfo(GetAchievementPunishmentInfoPageQuery query);


        /// <summary>
        /// 更新成绩惩罚信息撤销状态
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        Task<BaseResultDto> UpdateAchievementPunishmentInfoRevoke(UpdateAchievementPunishmentInfoRevokeQuery query);

        /// <summary>
        /// 成绩惩罚信息同步
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        Task<BaseResultDto> PunishmentInfoSynchronization(List<PunishmentInfoSynchronizationQuery> query);

    }
}
